/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufg.inf.si.poo.formula1.Interface;

import java.text.ParseException;

/**
 * InterfaceRegister
 *
 * Versao 1.0
 *
 * Data 20/02/2013
 *
 * @author Igor
 */
public interface InterfaceRegister {

    /**
     * Preenche os campos com os dados do atributo do Objeto de Instancia da classe, 
     * pode ser Team, Driver, Season... depende da classe que estará o implementando
     */
    void dataShowObject();

    /**
     * Verifica se os campos FieldText com valor obrigatorio estao vazios
     * @throws IllegalArgumentException 
     */
    void checkFields() throws IllegalArgumentException;

    /**
     * Verifica se os dados digitados sao validos, por exemplo se o campo que so recebe valor inteiro esta com um valor inteiro valido
     * @throws IllegalArgumentException
     * @throws ParseException
     */
    void checkValueEntered() throws IllegalArgumentException, ParseException;
    
    /**
     * Insere a objeto no ArrayList de equipes caso nao esteja em modo de edicao
     * pode ser Team, Driver, Season... depende da classe que estará o implementando
     * @throws IllegalArgumentException
     */
    void createObject() throws IllegalArgumentException;
    
    /**
     * Limpa todos os campos da tela
     */
    void clearFields();
}
